#ifndef RAY_TRACE_PRO_ENVIRONMENT_SHADER_H
#define RAY_TRACE_PRO_ENVIRONMENT_SHADER_H

#include "Basic/GxLibBasic.h"
#include "VectorMath.h"

namespace RayTracePro
{
	class RayTraceSystem;
	class TextureData;

	class EnvironmentShader : public GxLibBasic::Object
	{
	private:
		TextureData * texture;
		RayTraceSystem * system;
	public:
		float UBias, VBias;
		EnvironmentShader(RayTraceSystem * system, const GxLibBasic::String & fileName);
		~EnvironmentShader();
		void Shade(GxLibMath::Vec4 & result, const GxLibMath::Vec3& dir, const GxLibMath::Vec3 & dDdx, const GxLibMath::Vec3 & dDdy);
	};
}

#endif